package com.ht.module.bus.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.io.Serializable;


/**
 * <p>
 *
 * </p>
 *
 * @author hejialun
 * @since 2024-07-29
 */

@TableName("t_class")
@Data
@Accessors(chain = true)
public class TClass{

    @ApiModelProperty("班级编码")
    @TableId
    private String classCode;

    @ApiModelProperty("学校编码")
    @NotEmpty
    private String schoolCode;

    @ApiModelProperty("班级名称")
    @NotEmpty
    private String className;

    @ApiModelProperty("1住校，2走读：关联字典：boarding_arrangement")
    private String classBoardingArrangement;

    @ApiModelProperty("学校年级")
    @NotNull
    private Integer schoolGrade;

    @ApiModelProperty("教育阶段 关联字典：education_stage")
    @NotEmpty
    private String educationStage;

    @ApiModelProperty("班级负责人")
    @NotEmpty
    private String personCharge;

    @ApiModelProperty("班级负责人联系电话")
    @NotEmpty
    private String personChargePhone;

    @ApiModelProperty("部门id")
    private String deptId;

    @ApiModelProperty("创建人")
    private String createUser;

    @ApiModelProperty("创建时间")
    private LocalDateTime createDate;

    @ApiModelProperty("修改人")
    private String updateUser;

    @ApiModelProperty("修改时间")
    private LocalDateTime updateDate;

    @ApiModelProperty("01有效,02无效")
    private String state;

    @ApiModelProperty("逻辑删除")
    @TableLogic
    private Integer delFlag;

    @ApiModelProperty("创建人姓名")
    @TableField(exist = false)
    private String createUserName;

    @ApiModelProperty("学校名称")
    @TableField(exist = false)
    private String schoolName;

    @ApiModelProperty("区划编码")
    @TableField(exist = false)
    private String districtCode;

    @ApiModelProperty("年级-通过入学年限换算")
    @TableField(exist = false)
    private String grade;

    @ApiModelProperty("学校年级编码")
    @TableField(exist = false)
    private String gradeCode;


}
